;(function($){
var plugin={};
var defaults={
mode: 'horizontal',
slideSelector: '',
infiniteLoop: true,
hideControlOnEnd: false,
speed: 1000,
easing: 'linear',
slideMargin: 0,
startSlide: 0,
randomStart: false,
captions: false,
ticker: false,
tickerHover: false,
adaptiveHeight: false,
adaptiveHeightSpeed: 500,
video: false,
useCSS: false,
preloadImages: 'visible',
responsive: true,
slideZIndex: 50,
wrapperClass: 'bx-wrapper',
touchEnabled: true,
swipeThreshold: 50,
oneToOneTouch: true,
preventDefaultSwipeX: true,
preventDefaultSwipeY: false,
pager: false,
pagerType: 'full',
pagerShortSeparator: ' / ',
pagerSelector: null,
buildPager: null,
pagerCustom: null,
controls: true,
nextText: 'Next',
prevText: 'Prev',
nextSelector: null,
prevSelector: null,
autoControls: false,
startText: 'Start',
stopText: 'Stop',
autoControlsCombine: false,
autoControlsSelector: null,
auto: true,
pause: 4000,
autoStart: true,
autoDirection: 'next',
autoHover: true,
autoDelay: 0,
autoSlideForOnePage: false,
minSlides: 1,
maxSlides: 1,
moveSlides: 0,
slideWidth: 0,
widthType: 'px',
onSliderLoad: function(){},
onSlideBefore: function(){},
onSlideAfter: function(){},
onSlideNext: function(){},
onSlidePrev: function(){},
onSliderResize: function(){}};
$.fn.bxSlider=function(options){
if(this.length==0) return this;
if(this.length > 1){
this.each(function(){$(this).bxSlider(options)});
return this;
}
var slider={};
var el=this;
plugin.el=this;
var windowWidth=$(window).width();
var windowHeight=$(window).height();
var init=function(){
slider.settings=$.extend({}, defaults, options);
slider.settings.slideWidth=parseInt(slider.settings.slideWidth);
slider.settings.pagerType=parseInt(slider.settings.navigation);
slider.settings.slideMargin=parseInt(slider.settings.slideMargin);
slider.settings.oneToOneTouch=slider.settings.oneToOne;
slider.children=el.children(slider.settings.slideSelector);
if(slider.children.length < slider.settings.minSlides) slider.settings.minSlides=slider.children.length;
if(slider.children.length < slider.settings.maxSlides) slider.settings.maxSlides=slider.children.length;
if(slider.settings.randomStart) slider.settings.startSlide=Math.floor(Math.random() * slider.children.length);
slider.active={ index: slider.settings.startSlide };
slider.carousel=slider.settings.minSlides > 1||slider.settings.maxSlides > 1;
if(slider.carousel) slider.settings.preloadImages='all';
slider.minThreshold=(slider.settings.minSlides * slider.settings.slideWidth) + ((slider.settings.minSlides - 1) * slider.settings.slideMargin);
slider.maxThreshold=(slider.settings.maxSlides * slider.settings.slideWidth) + ((slider.settings.maxSlides - 1) * slider.settings.slideMargin);
slider.working=false;
slider.controls={};
slider.interval=null;
slider.animProp=slider.settings.mode=='vertical' ? 'top':'left';
slider.settings.auto=slider.settings.auto=='enable';
slider.settings.slideshowControls=slider.settings.slideshowControls=='enable';
slider.settings.pager=slider.settings.pagerEnabled;
slider.usingCSS=slider.settings.useCSS&&slider.settings.mode!='fade'&&(function(){
var div=document.createElement('div');
var props=['WebkitPerspective', 'MozPerspective', 'OPerspective', 'msPerspective'];
for(var i in props){
if(div.style[props[i]]!==undefined){
slider.cssPrefix=props[i].replace('Perspective', '').toLowerCase();
slider.animProp='-' + slider.cssPrefix + '-transform';
return true;
}}
return false;
}());
if(slider.settings.mode=='vertical') slider.settings.maxSlides=slider.settings.minSlides;
el.data("origStyle", el.attr("style"));
el.children(slider.settings.slideSelector).each(function(){
$(this).data("origStyle", $(this).attr("style"));
});
setup();
};
var setup=function(){
el.wrap('
');
slider.viewport=el.parent();
slider.loader=$('');
slider.viewport.prepend(slider.loader);
el.css({
width: slider.settings.mode=='horizontal' ? (slider.children.length * 100 + 215) + '%':'auto',
position: 'relative'
});
if(slider.usingCSS&&slider.settings.easing){
el.css('-' + slider.cssPrefix + '-transition-timing-function', slider.settings.easing);
}else if(!slider.settings.easing){
slider.settings.easing='swing';
}
var slidesShowing=getNumberSlidesShowing();
slider.viewport.css({
width: '100%',
overflow: 'hidden',
position: 'relative'
});
slider.viewport.parent().css({
maxWidth: getViewportMaxWidth()
});
if(!slider.settings.pager){
slider.viewport.parent().css({
margin: '0 auto 0px'
});
}
slider.children.css({
'float': slider.settings.mode=='horizontal' ? 'left':'none',
listStyle: 'none',
position: 'relative'
});
slider.children.css('width', getSlideWidth());
if(slider.settings.mode=='horizontal'&&slider.settings.slideMargin > 0) slider.children.css('marginRight', slider.settings.slideMargin);
if(slider.settings.mode=='vertical'&&slider.settings.slideMargin > 0) slider.children.css('marginBottom', slider.settings.slideMargin);
if(slider.settings.mode=='fade'){
slider.children.css({
position: 'absolute',
zIndex: 0,
display: 'none'
});
slider.children.eq(slider.settings.startSlide).css({zIndex: slider.settings.slideZIndex, display: 'block'});
}
/*if(slider.settings.pagerType){
var resources=$('.thumbnails').clone();
slider.settings.buildPager=function(index){
var img=resources.find('li').get(index);
var video=$('.supsystic-slider li').get(index);
if($(video).children().hasClass('fluid-width-video-wrapper')){
return '';
}
return '';
}}
$('.thumbnails').remove();*/
slider.controls.el=$('');
if(slider.settings.captions) appendCaptions();
slider.active.last=slider.settings.startSlide==getPagerQty() - 1;
if(slider.settings.video) el.fitVids();
var preloadSelector=slider.children.eq(slider.settings.startSlide);
if(slider.settings.preloadImages=="all") preloadSelector=slider.children;
if(!slider.settings.ticker){
if(slider.settings.pager) appendPager();
if(slider.settings.controls) appendControls();
if(slider.settings.auto&&slider.settings.autoControls) appendControlsAuto();
if(!slider.settings.auto&&slider.settings.slideshowControls) appendControlsAuto();
if(slider.settings.auto&&slider.settings.slideshowControls) appendControlsAuto();
if(slider.settings.controls||slider.settings.autoControls||slider.settings.pager) slider.viewport.after(slider.controls.el);
}else{
slider.settings.pager=false;
}
loadElements(preloadSelector, start);
};
var loadElements=function(selector, callback){
var total=selector.find('img, iframe').length;
if(total==0){
callback();
return;
}
var count=0;
selector.find('img, iframe').each(function(){
$(this).one('load', function(){
if(++count==total) callback();
}).each(function(){
if(this.complete) $(this).load();
});
});
};
var start=function(){
if(slider.settings.infiniteLoop&&slider.settings.mode!='fade'&&!slider.settings.ticker){
var slice=slider.settings.mode=='vertical' ? slider.settings.minSlides:slider.settings.maxSlides;
var sliceAppend=slider.children.slice(0, slice).clone().addClass('bx-clone');
var slicePrepend=slider.children.slice(-slice).clone().addClass('bx-clone');
el.append(sliceAppend).prepend(slicePrepend);
}
slider.loader.remove();
setSlidePosition();
if(slider.settings.mode=='vertical') slider.settings.adaptiveHeight=true;
slider.viewport.height(getViewportHeight());
el.redrawSlider();
slider.settings.onSliderLoad(slider.active.index);
slider.initialized=true;
if(slider.settings.responsive) $(window).bind('resize', resizeWindow);
if(slider.settings.auto&&slider.settings.autoStart&&(getPagerQty() > 1||slider.settings.autoSlideForOnePage)) initAuto();
if(slider.settings.ticker) initTicker();
if(slider.settings.pager) updatePagerActive(slider.settings.startSlide);
if(slider.settings.controls) updateDirectionControls();
if(slider.settings.touchEnabled&&!slider.settings.ticker) initTouch();
};
var getViewportHeight=function(){
var height=0;
var children=$();
if(slider.settings.mode!='vertical'&&!slider.settings.adaptiveHeight){
children=slider.children;
}else{
if(!slider.carousel){
children=slider.children.eq(slider.active.index);
}else{
var currentIndex=slider.settings.moveSlides==1 ? slider.active.index:slider.active.index * getMoveBy();
children=slider.children.eq(currentIndex);
for (i=1; i <=slider.settings.maxSlides - 1; i++){
if(currentIndex + i >=slider.children.length){
children=children.add(slider.children.eq(i - 1));
}else{
children=children.add(slider.children.eq(currentIndex + i));
}}
}}
if(slider.settings.mode=='vertical'){
children.each(function(index){
height +=$(this).outerHeight();
});
if(slider.settings.slideMargin > 0){
height +=slider.settings.slideMargin * (slider.settings.minSlides - 1);
}}else{
height=Math.max.apply(Math, children.map(function(){
return $(this).outerHeight(false);
}).get());
}
if(slider.viewport.css('box-sizing')=='border-box'){
height +=parseFloat(slider.viewport.css('padding-top')) + parseFloat(slider.viewport.css('padding-bottom')) +
parseFloat(slider.viewport.css('border-top-width')) + parseFloat(slider.viewport.css('border-bottom-width'));
}else if(slider.viewport.css('box-sizing')=='padding-box'){
height +=parseFloat(slider.viewport.css('padding-top')) + parseFloat(slider.viewport.css('padding-bottom'));
}
return height;
};
var getViewportMaxWidth=function(){
var width='100%';
if(slider.settings.slideWidth > 0){
if(slider.settings.mode=='horizontal'){
width=(slider.settings.maxSlides * slider.settings.slideWidth) + ((slider.settings.maxSlides - 1) * slider.settings.slideMargin);
}else{
width=slider.settings.slideWidth;
}}
return width;
};
var getSlideWidth=function(){
var newElWidth=slider.settings.slideWidth;
var wrapWidth=slider.viewport.width();
if(slider.settings.slideWidth==0 ||
(slider.settings.slideWidth > wrapWidth&&!slider.carousel) ||
slider.settings.mode=='vertical'){
newElWidth=wrapWidth;
}else if(slider.settings.maxSlides > 1&&slider.settings.mode=='horizontal'){
if(wrapWidth > slider.maxThreshold){
}else if(wrapWidth < slider.minThreshold){
newElWidth=(wrapWidth - (slider.settings.slideMargin * (slider.settings.minSlides - 1))) / slider.settings.minSlides;
}}
return newElWidth;
};
var getNumberSlidesShowing=function(){
var slidesShowing=1;
if(slider.settings.mode=='horizontal'&&slider.settings.slideWidth > 0){
if(slider.viewport.width() < slider.minThreshold){
slidesShowing=slider.settings.minSlides;
}else if(slider.viewport.width() > slider.maxThreshold){
slidesShowing=slider.settings.maxSlides;
}else{
var childWidth=slider.children.first().width() + slider.settings.slideMargin;
slidesShowing=Math.floor((slider.viewport.width() +
slider.settings.slideMargin) / childWidth);
}}else if(slider.settings.mode=='vertical'){
slidesShowing=slider.settings.minSlides;
}
return slidesShowing;
};
var getPagerQty=function(){
var pagerQty=0;
if(slider.settings.moveSlides > 0){
if(slider.settings.infiniteLoop){
pagerQty=Math.ceil(slider.children.length / getMoveBy());
}else{
var breakPoint=0;
var counter=0
while (breakPoint < slider.children.length){
++pagerQty;
breakPoint=counter + getNumberSlidesShowing();
counter +=slider.settings.moveSlides <=getNumberSlidesShowing() ? slider.settings.moveSlides:getNumberSlidesShowing();
}}
}else{
pagerQty=Math.ceil(slider.children.length / getNumberSlidesShowing());
}
return pagerQty;
};
var getMoveBy=function(){
if(slider.settings.moveSlides > 0&&slider.settings.moveSlides <=getNumberSlidesShowing()){
return slider.settings.moveSlides;
}
return getNumberSlidesShowing();
};
var setSlidePosition=function(){
var position;
if(slider.children.length > slider.settings.maxSlides&&slider.active.last&&!slider.settings.infiniteLoop){
if(slider.settings.mode=='horizontal'){
var lastChild=slider.children.last();
position=lastChild.position();
setPositionProperty(-(position.left - (slider.viewport.width() - lastChild.outerWidth())), 'reset', 0);
}else if(slider.settings.mode=='vertical'){
var lastShowingIndex=slider.children.length - slider.settings.minSlides;
position=slider.children.eq(lastShowingIndex).position();
setPositionProperty(-position.top, 'reset', 0);
}}else{
position=slider.children.eq(slider.active.index * getMoveBy()).position();
if(slider.active.index==getPagerQty() - 1) slider.active.last=true;
if(position!=undefined){
if(slider.settings.mode=='horizontal') setPositionProperty(-position.left, 'reset', 0);
else if(slider.settings.mode=='vertical') setPositionProperty(-position.top, 'reset', 0);
}}
};
var setPositionProperty=function(value, type, duration, params){
if(slider.usingCSS){
var propValue=slider.settings.mode=='vertical' ? 'translate3d(0, ' + value + 'px, 0)':'translate3d(' + value + 'px, 0, 0)';
el.css('-' + slider.cssPrefix + '-transition-duration', duration / 1000 + 's');
if(type=='slide'){
el.css(slider.animProp, propValue);
el.bind('transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd', function(){
el.unbind('transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd');
updateAfterSlideTransition();
});
}else if(type=='reset'){
el.css(slider.animProp, propValue);
}else if(type=='ticker'){
el.css('-' + slider.cssPrefix + '-transition-timing-function', 'linear');
el.css(slider.animProp, propValue);
el.bind('transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd', function(){
el.unbind('transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd');
setPositionProperty(params['resetValue'], 'reset', 0);
tickerLoop();
});
}}else{
var animateObj={};
animateObj[slider.animProp]=value;
if(type=='slide'){
el.animate(animateObj, duration, slider.settings.easing, function(){
updateAfterSlideTransition();
});
}else if(type=='reset'){
el.css(slider.animProp, value)
}else if(type=='ticker'){
el.animate(animateObj, speed, 'linear', function(){
setPositionProperty(params['resetValue'], 'reset', 0);
tickerLoop();
});
}}
};
var populatePager=function(){
var pagerHtml='';
var pagerQty=getPagerQty();
for(var i=0; i < pagerQty; i++){
var linkContent='';
if(slider.settings.buildPager&&$.isFunction(slider.settings.buildPager)){
linkContent=slider.settings.buildPager(i);
slider.pagerEl.addClass('bx-custom-pager');
}else{
linkContent=i + 1;
slider.pagerEl.addClass('bx-default-pager');
}
pagerHtml +='';
}
slider.pagerEl.html(pagerHtml);
};
var appendPager=function(){
if(!slider.settings.pagerCustom){
slider.pagerEl=$('');
if(slider.settings.pagerSelector){
$(slider.settings.pagerSelector).html(slider.pagerEl);
}else{
slider.controls.el.addClass('bx-has-pager').append(slider.pagerEl);
if(slider.settings.pagerType){
slider.controls.el.addClass('thumbnails');
}}
populatePager();
}else{
slider.pagerEl=$(slider.settings.pagerCustom);
}
slider.pagerEl.on('click', 'a', clickPagerBind);
};
var appendControls=function(){
slider.controls.next=$('' + slider.settings.nextText + '');
slider.controls.prev=$('' + slider.settings.prevText + '');
slider.controls.next.bind('click', clickNextBind);
slider.controls.prev.bind('click', clickPrevBind);
if(slider.settings.nextSelector){
$(slider.settings.nextSelector).append(slider.controls.next);
}
if(slider.settings.prevSelector){
$(slider.settings.prevSelector).append(slider.controls.prev);
}
if(!slider.settings.nextSelector&&!slider.settings.prevSelector){
slider.controls.directionEl=$('');
slider.controls.directionEl.append(slider.controls.prev).append(slider.controls.next);
slider.controls.el.addClass('bx-has-controls-direction').append(slider.controls.directionEl);
}};
var appendControlsAuto=function(){
slider.controls.start=$('');
slider.controls.stop=$('');
slider.controls.autoEl=$('');
slider.controls.autoEl.on('click', '.bx-start', clickStartBind);
slider.controls.autoEl.on('click', '.bx-stop', clickStopBind);
if(slider.settings.autoControlsCombine){
slider.controls.autoEl.append(slider.controls.start);
}else{
slider.controls.autoEl.append(slider.controls.start).append(slider.controls.stop);
}
if(slider.settings.autoControlsSelector){
$(slider.settings.autoControlsSelector).html(slider.controls.autoEl);
}else{
slider.controls.el.addClass('bx-has-controls-auto').append(slider.controls.autoEl);
}};
var appendCaptions=function(){
var htmlDecode=function(input){
var e=document.createElement('div');
e.innerHTML=input;
return e.childNodes.length===0 ? "":e.childNodes[0].nodeValue;
};
slider.children.each(function(index){
var image=$(this).find('img:first')
, title=image.length ? image.data('title'):$(this).attr('data-title');
if(title!=undefined&&('' + title).length){
var captionPosition=slider.settings.inTop==true ? 'top':'';
$(this).append('
');
if(/<[a-z][\s\S]*>/i.test(htmlDecode(title))){
title=$(htmlDecode(title));
}
$(this).find('.caption').append(title);
}});
};
var clickNextBind=function(e){
if(slider.settings.auto) el.stopAuto();
el.goToNextSlide();
e.preventDefault();
};
var clickPrevBind=function(e){
if(slider.settings.auto) el.stopAuto();
el.goToPrevSlide();
e.preventDefault();
};
var clickStartBind=function(e){
slider.disabledAuto=false;
el.startAuto();
e.preventDefault();
};
var clickStopBind=function(e){
slider.disabledAuto=false;
el.stopAuto();
e.preventDefault();
};
var clickPagerBind=function(e){
if(slider.settings.auto) el.stopAuto();
var pagerLink=$(e.currentTarget);
if(pagerLink.attr('data-slide-index')!==undefined){
var pagerIndex=parseInt(pagerLink.attr('data-slide-index'));
if(pagerIndex!=slider.active.index) el.goToSlide(pagerIndex);
e.preventDefault();
}
};
/*var pagerTranslate=function(self){
var $pager=$('.bx-pager');
if($(self).parent('li').index() > parseInt($pager.data('center'), 10)){
$pager.data('center', parseInt($pager.data('center'), 10) + $pager.find('li').length - $(self).parent('li').index());
}else{
$pager.data('center', parseInt($pager.data('center'), 10) - $pager.find('li').length - $(self).parent('li').index());
}};
var thumbnailTranslate=function(element, translate, $pager){
element.css({
'transform': 'translateX(' + translate + 'px)',
'-webkit-transform': 'translateX(' + translate + 'px)',
'-moz-transform': 'translateX(' + translate + 'px)',
'-o-transform': 'translateX(' + translate + 'px)',
'transition': '0.4s',
'-webkit-transition': '0.4s',
'-moz-transition': '0.4s',
'-o-transition': '0.4s'
});
$pager.data('transform', translate);
};
var pagerMoveLeft=function(){
var $pager=$('.bx-pager'),
translate=$pager.data('transform');
if(parseInt($pager.data('center')) < $pager.find('li').length - 3){
translate -=slider.settings.slideWidth/4;
$pager.find('li').each(function(){
thumbnailTranslate($(this), translate, $pager);
});
}
if(parseInt($pager.data('center'))==$pager.find('li').length){
$pager.data('center', parseInt($pager.data('center'), 10) - $pager.find('li').length);
$pager.find('li').each(function(){
thumbnailTranslate($(this), Math.floor(slider.settings.slideWidth/4)*($pager.find('li').length - 5), $pager);
});
}
$pager.data('center', parseInt($pager.data('center'), 10) + 1);
};
var pagerMoveRight=function(){
var $pager=$('.bx-pager'),
translate=$pager.data('transform');
if(parseInt($pager.data('center')) > 4){
translate +=slider.settings.slideWidth/4;
$pager.find('li').each(function(){
thumbnailTranslate($(this), translate, $pager);
});
}
if(parseInt($pager.data('center'))==1){
$pager.data('center', parseInt($pager.data('center'), 10) + $pager.find('li').length);
$pager.find('li').each(function(){
thumbnailTranslate($(this), -Math.floor(slider.settings.slideWidth/4)*($pager.find('li').length - 4), $pager);
});
}
$pager.data('center', parseInt($pager.data('center'), 10) - 1);
};*/
var updatePagerActive=function(slideIndex){
var len=slider.children.length;
if(slider.settings.pagerType=='short'){
if(slider.settings.maxSlides > 1){
len=Math.ceil(slider.children.length/slider.settings.maxSlides);
}
slider.pagerEl.html((slideIndex + 1) + slider.settings.pagerShortSeparator + len);
return;
}
slider.pagerEl.find('a').removeClass('active');
slider.pagerEl.each(function(i, el){ $(el).find('a').eq(slideIndex).addClass('active'); });
};
var updateAfterSlideTransition=function(){
if(slider.settings.infiniteLoop){
var position='';
if(slider.active.index==0){
position=slider.children.eq(0).position();
}else if(slider.active.index==getPagerQty() - 1&&slider.carousel){
position=slider.children.eq((getPagerQty() - 1) * getMoveBy()).position();
}else if(slider.active.index==slider.children.length - 1){
position=slider.children.eq(slider.children.length - 1).position();
}
if(position){
if(slider.settings.mode=='horizontal'){ setPositionProperty(-position.left, 'reset', 0); }
else if(slider.settings.mode=='vertical'){ setPositionProperty(-position.top, 'reset', 0); }}
}
slider.working=false;
slider.settings.onSlideAfter(slider.children.eq(slider.active.index), slider.oldIndex, slider.active.index);
};
var updateAutoControls=function(state){
if(slider.settings.autoControlsCombine){
slider.controls.autoEl.html(slider.controls[state]);
}else{
slider.controls.autoEl.find('a').removeClass('active');
slider.controls.autoEl.find('a:not(.bx-' + state + ')').addClass('active');
}};
var updateDirectionControls=function(){
if(getPagerQty()==1){
slider.controls.prev.addClass('disabled');
slider.controls.next.addClass('disabled');
}else if(!slider.settings.infiniteLoop&&slider.settings.hideControlOnEnd){
if(slider.active.index==0){
slider.controls.prev.addClass('disabled');
slider.controls.next.removeClass('disabled');
}else if(slider.active.index==getPagerQty() - 1){
slider.controls.next.addClass('disabled');
slider.controls.prev.removeClass('disabled');
}else{
slider.controls.prev.removeClass('disabled');
slider.controls.next.removeClass('disabled');
}}
};
var initAuto=function(){
if(slider.settings.autoDelay > 0){
var timeout=setTimeout(el.startAuto, slider.settings.autoDelay);
}else{
el.startAuto();
}
if(slider.settings.autoHover){
el.hover(function(){
if(slider.interval){
el.stopAuto(true);
slider.autoPaused=true;
}}, function(){
if(slider.autoPaused){
el.startAuto(true);
slider.autoPaused=null;
}});
}};
var initTicker=function(){
var startPosition=0;
if(slider.settings.autoDirection=='next'){
el.append(slider.children.clone().addClass('bx-clone'));
}else{
el.prepend(slider.children.clone().addClass('bx-clone'));
var position=slider.children.first().position();
startPosition=slider.settings.mode=='horizontal' ? -position.left:-position.top;
}
setPositionProperty(startPosition, 'reset', 0);
slider.settings.pager=false;
slider.settings.controls=false;
slider.settings.autoControls=false;
if(slider.settings.tickerHover&&!slider.usingCSS){
slider.viewport.hover(function(){
el.stop();
}, function(){
var totalDimens=0;
slider.children.each(function(index){
totalDimens +=slider.settings.mode=='horizontal' ? $(this).outerWidth(true):$(this).outerHeight(true);
});
var ratio=slider.settings.speed / totalDimens;
var property=slider.settings.mode=='horizontal' ? 'left':'top';
var newSpeed=ratio * (totalDimens - (Math.abs(parseInt(el.css(property)))));
tickerLoop(newSpeed);
});
}
tickerLoop();
};
var tickerLoop=function(resumeSpeed){
speed=resumeSpeed ? resumeSpeed:slider.settings.speed;
var position={left: 0, top: 0};
var reset={left: 0, top: 0};
if(slider.settings.autoDirection=='next'){
position=el.find('.bx-clone').first().position();
}else{
reset=slider.children.first().position();
}
var animateProperty=slider.settings.mode=='horizontal' ? -position.left:-position.top;
var resetValue=slider.settings.mode=='horizontal' ? -reset.left:-reset.top;
var params={resetValue: resetValue};
setPositionProperty(animateProperty, 'ticker', speed, params);
};
var initTouch=function(){
slider.touch={
start: {x: 0, y: 0},
end: {x: 0, y: 0}};
slider.viewport.bind('touchstart', onTouchStart);
};
var onTouchStart=function(e){
if(slider.working){
e.preventDefault();
}else{
slider.touch.originalPos=el.position();
var orig=e.originalEvent;
slider.touch.start.x=orig.changedTouches[0].pageX;
slider.touch.start.y=orig.changedTouches[0].pageY;
slider.viewport.bind('touchmove', onTouchMove);
slider.viewport.bind('touchend', onTouchEnd);
}};
var onTouchMove=function(e){
var orig=e.originalEvent;
var xMovement=Math.abs(orig.changedTouches[0].pageX - slider.touch.start.x);
var yMovement=Math.abs(orig.changedTouches[0].pageY - slider.touch.start.y);
if((xMovement * 3) > yMovement&&slider.settings.preventDefaultSwipeX){
e.preventDefault();
}else if((yMovement * 3) > xMovement&&slider.settings.preventDefaultSwipeY){
e.preventDefault();
}
if(slider.settings.mode!='fade'&&slider.settings.oneToOneTouch){
var value=0;
var change;
if(slider.settings.mode=='horizontal'){
change=orig.changedTouches[0].pageX - slider.touch.start.x;
value=slider.touch.originalPos.left + change;
}else{
change=orig.changedTouches[0].pageY - slider.touch.start.y;
value=slider.touch.originalPos.top + change;
}
setPositionProperty(value, 'reset', 0);
}};
var onTouchEnd=function(e){
slider.viewport.unbind('touchmove', onTouchMove);
var orig=e.originalEvent;
var value=0;
var distance;
slider.touch.end.x=orig.changedTouches[0].pageX;
slider.touch.end.y=orig.changedTouches[0].pageY;
if(slider.settings.mode=='fade'){
distance=Math.abs(slider.touch.start.x - slider.touch.end.x);
if(distance >=slider.settings.swipeThreshold){
slider.touch.start.x > slider.touch.end.x ? el.goToNextSlide():el.goToPrevSlide();
el.stopAuto();
}}else{
distance=0;
if(slider.settings.mode=='horizontal'){
distance=slider.touch.end.x - slider.touch.start.x;
value=slider.touch.originalPos.left;
}else{
distance=slider.touch.end.y - slider.touch.start.y;
value=slider.touch.originalPos.top;
}
if(!slider.settings.infiniteLoop&&((slider.active.index==0&&distance > 0)||(slider.active.last&&distance < 0))){
setPositionProperty(value, 'reset', 200);
}else{
if(Math.abs(distance) >=slider.settings.swipeThreshold){
distance < 0 ? el.goToNextSlide():el.goToPrevSlide();
el.stopAuto();
}else{
setPositionProperty(value, 'reset', 200);
}}
}
slider.viewport.unbind('touchend', onTouchEnd);
};
var resizeWindow=function(e){
if(!slider.initialized) return;
var windowWidthNew=$(window).width();
var windowHeightNew=$(window).height();
if(windowWidth!=windowWidthNew||windowHeight!=windowHeightNew){
windowWidth=windowWidthNew;
windowHeight=windowHeightNew;
el.redrawSlider();
slider.settings.onSliderResize.call(el, slider.active.index);
}};
el.goToSlide=function(slideIndex, direction){
if(slider.working||slider.active.index==slideIndex) return;
slider.working=true;
slider.oldIndex=slider.active.index;
if(slideIndex < 0){
slider.active.index=getPagerQty() - 1;
}else if(slideIndex >=getPagerQty()){
slider.active.index=0;
}else{
slider.active.index=slideIndex;
}
slider.settings.onSlideBefore(slider.children.eq(slider.active.index), slider.oldIndex, slider.active.index);
if(direction=='next'){
slider.settings.onSlideNext(slider.children.eq(slider.active.index), slider.oldIndex, slider.active.index);
}else if(direction=='prev'){
slider.settings.onSlidePrev(slider.children.eq(slider.active.index), slider.oldIndex, slider.active.index);
}
slider.active.last=slider.active.index >=getPagerQty() - 1;
if(slider.settings.pager) updatePagerActive(slider.active.index);
if(slider.settings.controls) updateDirectionControls();
if(slider.settings.mode=='fade'){
if(slider.settings.adaptiveHeight&&slider.viewport.height()!=getViewportHeight()){
slider.viewport.animate({height: getViewportHeight()}, slider.settings.adaptiveHeightSpeed);
}
slider.children.filter(':visible').fadeOut(slider.settings.speed).css({zIndex: 0});
slider.children.eq(slider.active.index).css('zIndex', slider.settings.slideZIndex+1).fadeIn(slider.settings.speed, function(){
$(this).css('zIndex', slider.settings.slideZIndex);
updateAfterSlideTransition();
});
}else{
if(slider.settings.adaptiveHeight&&slider.viewport.height()!=getViewportHeight()){
slider.viewport.animate({height: getViewportHeight()}, slider.settings.adaptiveHeightSpeed);
}
var moveBy=0;
var position={left: 0, top: 0};
if(!slider.settings.infiniteLoop&&slider.carousel&&slider.active.last){
if(slider.settings.mode=='horizontal'){
var lastChild=slider.children.eq(slider.children.length - 1);
position=lastChild.position();
moveBy=slider.viewport.width() - lastChild.outerWidth();
}else{
var lastShowingIndex=slider.children.length - slider.settings.minSlides;
position=slider.children.eq(lastShowingIndex).position();
}}else if(slider.carousel&&slider.active.last&&direction=='prev'){
var eq=slider.settings.moveSlides==1 ? slider.settings.maxSlides - getMoveBy():((getPagerQty() - 1) * getMoveBy()) - (slider.children.length - slider.settings.maxSlides);
var lastChild=el.children('.bx-clone').eq(eq);
position=lastChild.position();
}else if(direction=='next'&&slider.active.index==0){
position=el.find('> .bx-clone').eq(slider.settings.maxSlides).position();
slider.active.last=false;
}else if(slideIndex >=0){
var requestEl=slideIndex * getMoveBy();
position=slider.children.eq(requestEl).position();
}
if("undefined"!==typeof(position)){
var value=slider.settings.mode=='horizontal' ? -(position.left - moveBy):-position.top;
setPositionProperty(value, 'slide', slider.settings.speed);
}}
};
el.goToNextSlide=function(){
if(!slider.settings.infiniteLoop&&slider.active.last) return;
var pagerIndex=parseInt(slider.active.index) + 1;
el.goToSlide(pagerIndex, 'next');
};
el.goToPrevSlide=function(){
if(!slider.settings.infiniteLoop&&slider.active.index==0) return;
var pagerIndex=parseInt(slider.active.index) - 1;
el.goToSlide(pagerIndex, 'prev');
};
el.startAuto=function(preventControlUpdate){
if(slider.interval||slider.disabledAuto===true) return;
slider.interval=setInterval(function(){
slider.settings.autoDirection=='next' ? el.goToNextSlide():el.goToPrevSlide();
}, slider.settings.pause);
if(slider.settings.autoControls&&preventControlUpdate!=true) updateAutoControls('stop');
};
el.stopAuto=function(preventControlUpdate){
if(!slider.interval) return;
clearInterval(slider.interval);
slider.interval=null;
if(slider.settings.autoControls&&preventControlUpdate!=true) updateAutoControls('start');
};
el.disableAuto=function(){
slider.disabledAuto=true;
if(slider.settings.autoControls){
updateAutoControls('start');
}};
el.enableAuto=function(){
slider.disabledAuto=false;
};
el.getCurrentSlide=function(){
return slider.active.index;
};
el.getCurrentSlideElement=function(){
return slider.children.eq(slider.active.index);
};
el.getSlideCount=function(){
return slider.children.length;
};
el.redrawSlider=function(){
slider.children.add(el.find('.bx-clone')).width(getSlideWidth());
slider.viewport.css('height', getViewportHeight());
if(!slider.settings.ticker) setSlidePosition();
if(slider.active.last) slider.active.index=getPagerQty() - 1;
if(slider.active.index >=getPagerQty()) slider.active.last=true;
if(slider.settings.pager&&!slider.settings.pagerCustom){
updatePagerActive(slider.active.index);
}};
el.destroySlider=function(){
if(!slider.initialized) return;
slider.initialized=false;
$('.bx-clone', this).remove();
slider.children.each(function(){
$(this).data("origStyle")!=undefined ? $(this).attr("style", $(this).data("origStyle")):$(this).removeAttr('style');
});
$(this).data("origStyle")!=undefined ? this.attr("style", $(this).data("origStyle")):$(this).removeAttr('style');
$(this).unwrap().unwrap();
if(slider.controls.el) slider.controls.el.remove();
if(slider.controls.next) slider.controls.next.remove();
if(slider.controls.prev) slider.controls.prev.remove();
if(slider.pagerEl&&slider.settings.controls) slider.pagerEl.remove();
$('.bx-caption', this).remove();
if(slider.controls.autoEl) slider.controls.autoEl.remove();
clearInterval(slider.interval);
if(slider.settings.responsive) $(window).unbind('resize', resizeWindow);
};
el.reloadSlider=function(settings){
if(settings!=undefined) options=settings;
el.destroySlider();
init();
};
init();
return this;
}})(jQuery);